<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
	<title>在Linux/MacOS上安装Elasticsearch | ElasticSearch 7.7 权威指南中文版</title>
	<meta name="keywords" content="ElasticSearch 权威指南中文版, elasticsearch 7, es7, 实时数据分析，实时数据检索" />
    <meta name="description" content="ElasticSearch 权威指南中文版, elasticsearch 7, es7, 实时数据分析，实时数据检索" />
    <!-- Give IE8 a fighting chance -->
    <!--[if lt IE 9]>
    <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
	<link rel="stylesheet" type="text/css" href="../static/styles.css" />
	<script>
	var _link = 'targz.html';
    </script>
</head>
<body>
<div class="main-container">
    <section id="content">
        <div class="content-wrapper">
            <section id="guide" lang="zh_cn">
                <div class="container">
                    <div class="row">
                        <div class="col-xs-12 col-sm-8 col-md-8 guide-section">
                            <div style="color:gray; word-break: break-all; font-size:12px;">原英文版地址: <a href="https://www.elastic.co/guide/en/elasticsearch/reference/7.7/targz.html" rel="nofollow" target="_blank">https://www.elastic.co/guide/en/elasticsearch/reference/7.7/targz.html</a>, 原文档版权归 www.elastic.co 所有<br/>本地英文版地址: <a href="../en/targz.html" rel="nofollow" target="_blank">../en/targz.html</a></div>
                        <!-- start body -->
                  <div class="page_header">
<strong>重要</strong>: 此版本不会发布额外的bug修复或文档更新。最新信息请参考 <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html" rel="nofollow">当前版本文档</a>。
</div>
<div id="content">
<div class="breadcrumbs">
<span class="breadcrumb-link"><a href="index.html">Elasticsearch 权威指南 [7.7]</a></span>
»
<span class="breadcrumb-link"><a href="setup.html">安装和设置</a></span>
»
<span class="breadcrumb-link"><a href="install-elasticsearch.html">安装Elasticsearch</a></span>
»
<span class="breadcrumb-node">在Linux/MacOS上安装Elasticsearch</span>
</div>
<div class="navheader">
<span class="prev">
<a href="install-elasticsearch.html">« 安装Elasticsearch</a>
</span>
<span class="next">
<a href="zip-windows.html">在Windows上使用<code class="literal">.zip</code>安装 »</a>
</span>
</div>
<div class="section">
<div class="titlepage"><div><div>
<h2 class="title">
<a id="targz"></a>在Linux/MacOS上安装Elasticsearch
</h2>
</div></div></div>
<p>
在Linux和MacOS上使用一个 <code class="literal">.tar.gz</code> 归档文件来安装Elasticsearch。
</p>
<p>
此软件包可在 Elastic 许可下免费使用。

它包含开放源码和免费的商业特性，并能访问付费商业特性。

<a href="https://www.elastic.co/guide/en/kibana/7.7/managing-licenses.html" class="ulink" target="_top">开始为期30天的试用</a> 尝试使用付费的商业特性。

有关 Elastic 许可等级的更多信息，请参考 <a href="https://www.elastic.co/subscriptions" class="ulink" target="_top">订阅（Subscriptions）</a> 页面。
</p>
<p>
Elasticsearch 最新的稳定版本可以在 <a href="https://www.elastic.co/downloads/elasticsearch" class="ulink" target="_top">下载 Elasticsearch</a> 页面找到。

其他版本可以在 <a href="https://www.elastic.co/downloads/past-releases" class="ulink" target="_top">过去发布的版本(Past Releases)</a> 页面上找到。
</p>
<div class="note admon">
<div class="icon"></div>
<div class="admon_content">
<p>
Elasticsearch 包含了一个绑定版本的 <a href="http://openjdk.java.net" class="ulink" target="_top">OpenJDK</a>，它来自 JDK 维护者(GPLv2+CE)。

要使用你自己的Java版本，参考 <a class="xref" href="setup.html#jvm-version" title="Java (JVM) Version">JVM 版本要求</a>。
</p>
</div>
</div>
<div class="section">
<div class="titlepage"><div><div>
<h3 class="title">
<a id="install-linux"></a>
下载并安装Linux版本的归档
</h3>
</div></div></div>
<p>
Elasticsearch v7.7.1的 Linux 归档可以下载并安装如下：
</p>
<div class="pre_wrapper lang-sh">
<pre class="programlisting prettyprint lang-sh">wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.1-linux-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.1-linux-x86_64.tar.gz.sha512
shasum -a 512 -c elasticsearch-7.7.1-linux-x86_64.tar.gz.sha512 <a id="CO1-1"></a><i class="conum" data-value="1"></i>
tar -xzf elasticsearch-7.7.1-linux-x86_64.tar.gz
cd elasticsearch-7.7.1/ <a id="CO1-2"></a><i class="conum" data-value="2"></i></pre>
</div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO1-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>
比较已经下载的 <code class="literal">.tar.gz</code> 归档文件和发布的 校验和(checksum)的 SHA，应该输出 <code class="literal">elasticsearch-{version}-linux-x86_64.tar.gz: OK</code> 这样的内容。
</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO1-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>这个目录被称为 <code class="literal">$ES_HOME</code>。</p>
</td>
</tr>
</table>
</div>
<p>
或者，你也可以下载这个安装包，其中只包含Apache2.0许可代码：<a href="https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-7.7.1-linux-x86_64.tar.gz" class="ulink" target="_top">https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-7.7.1-linux-x86_64.tar.gz</a>
</p>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h3 class="title">
<a id="install-macos"></a>
下载并安装 MacOS 版本的归档文件
</h3>
</div></div></div>
<p>
Elasticsearch v7.7.1的 MacOS 归档可以下载并安装如下：
</p>
<div class="pre_wrapper lang-sh">
<pre class="programlisting prettyprint lang-sh">wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.1-darwin-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.1-darwin-x86_64.tar.gz.sha512
shasum -a 512 -c elasticsearch-7.7.1-darwin-x86_64.tar.gz.sha512 <a id="CO2-1"></a><i class="conum" data-value="1"></i>
tar -xzf elasticsearch-7.7.1-darwin-x86_64.tar.gz
cd elasticsearch-7.7.1/ <a id="CO2-2"></a><i class="conum" data-value="2"></i></pre>
</div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO2-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>
比较已经下载的 <code class="literal">.tar.gz</code> 归档文件和发布的 校验和(checksum)的 SHA，应该输出 <code class="literal">elasticsearch-{version}-darwin-x86_64.tar.gz: OK</code> 这样的内容。
</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO2-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>这个目录被称为 <code class="literal">$ES_HOME</code>。</p>
</td>
</tr>
</table>
</div>
<p>
或者，你也可以下载这个安装包，其中只包含Apache2.0许可代码：<a href="https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-7.7.1-darwin-x86_64.tar.gz" class="ulink" target="_top">https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-7.7.1-darwin-x86_64.tar.gz</a>
</p>
</div>

<div class="section xpack">
<div class="titlepage"><div><div>
<h3 class="title">
<a id="targz-enable-indices"></a>
开启自动创建系统索引
</h3>
</div></div></div>
<p>
一些商业特性会自动在 Elasticearch 中创建索引。

默认情况下，Elasticsearch 被配置为允许自动创建索引，并且不需要其他步骤。

但是，如果在 Elasticsearch 中禁用了自动索引创建，则必须在 <code class="literal">elasticsearch.yml</code> 文件中配置 <a class="xref" href="docs-index_.html#index-creation" title="Create indices automatically"><code class="literal">action.auto_create_index</code></a>，以允许商业特性创建以下索引：
</p>
<div class="pre_wrapper lang-yaml">
<pre class="programlisting prettyprint lang-yaml">action.auto_create_index: .monitoring*,.watches,.triggered_watches,.watcher-history*,.ml*</pre>
</div>
<div class="important admon">
<div class="icon"></div>
<div class="admon_content">
<p>
如果你正在使用 <a href="https://www.elastic.co/products/logstash" class="ulink" target="_top">Logstash</a> 或 <a href="https://www.elastic.co/products/beats" class="ulink" target="_top">Beats</a>，那么你很可能在 <code class="literal">action.auto_create_index</code> 设置中需要额外的索引名，并且这个确切的值将取决于你的本地配置。

如果不确定环境的正确值，可以考虑将值设置为<code class="literal">*</code>，这将允许自动创建所有索引。
</p>
</div>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h3 class="title">
<a id="targz-running"></a>
从命令行运行 Elasticsearch
</h3>
</div></div></div>
<p>
Elasticsearch 可以像下面这样从命令行启动：
</p>
<div class="pre_wrapper lang-sh">
<pre class="programlisting prettyprint lang-sh">./bin/elasticsearch</pre>
</div>
<p>
如果你有密码保护的 ElasticSearch 密钥存储库，系统将提示你输入密钥存储库的密码。
更多信息参考 <a class="xref" href="secure-settings.html" title="Secure settings">安全设置</a>。
</p>
<p>
默认情况下，Elasticsearch 在前台运行，日志是打印到标准输出(<code class="literal">stdout</code>)的，并且可以通过按 <code class="literal">Ctrl-C</code>来停止运行。
</p>
<div class="note admon">
<div class="icon"></div>
<div class="admon_content">
<p>
与 Elasticsearch 一起打包的所有脚本都需要一个支持数组的 Bash 版本，并假设 Bash 在 <code class="literal">/bin/bash</code> 上可用。

因此，Bash 应该可以直接使用，或通过符号链接在此路径上可用。
</p>
</div>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h3 class="title">
<a id="_checking_that_elasticsearch_is_running"></a>
检查 Elasticearch 是否正在运行
</h3>
</div></div></div>
<p>
您可以通过向 <code class="literal">localhost</code> 上的端口 <code class="literal">9200</code> 发送一个 HTTP 请求来测试 Elasticsearch 节点是否正在运行：
</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">GET /</pre>
</div>
<div class="console_widget" data-snippet="snippets/13.console"></div>
<p>
应该会给你一个类似下面这样的响应：
</p>
<div class="pre_wrapper lang-js">
<pre class="programlisting prettyprint lang-js">{
  "name" : "Cp8oag6",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "AT69_T_DTp-1qgIJlatQqA",
  "version" : {
    "number" : "7.7.1",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "f27399d",
    "build_date" : "2016-03-30T09:51:41.449Z",
    "build_snapshot" : false,
    "lucene_version" : "8.5.1",
    "minimum_wire_compatibility_version" : "1.2.3",
    "minimum_index_compatibility_version" : "1.2.3"
  },
  "tagline" : "You Know, for Search"
}</pre>
</div>
<p>
打印到 <code class="literal">stdout</code> 的日志，可以通过命令行参数 <code class="literal">-q</code> 或 <code class="literal">--quiet</code> 来禁用。
</p>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h3 class="title">
<a id="setup-installation-daemon"></a>
以守护进程方式运行
</h3>
</div></div></div>
<p>
要以守护进程方式运行 Elasticsearch，需要在命令行指定 <code class="literal">-d</code>，并使用 <code class="literal">-p</code> 选项将进程ID记录到一个文件中。
</p>
<div class="pre_wrapper lang-sh">
<pre class="programlisting prettyprint lang-sh">./bin/elasticsearch -d -p pid</pre>
</div>
<p>
如果你有密码保护的 ElasticSearch 密钥存储库，系统将提示你输入密钥存储库的密码。
更多信息参考 <a class="xref" href="secure-settings.html" title="Secure settings">安全设置</a>。
</p>
<p>
日志信息可以在 <code class="literal">$ES_HOME/logs/</code> 目录中找到。
</p>
<p>
要关闭 Elasticsearch，杀掉(kill)文件<code class="literal">pid</code>中记录的进程ID:
</p>
<div class="pre_wrapper lang-sh">
<pre class="programlisting prettyprint lang-sh">pkill -F pid</pre>
</div>
<div class="note admon">
<div class="icon"></div>
<div class="admon_content">
<p>
<a class="xref" href="rpm.html" title="Install Elasticsearch with RPM">RPM</a> 和 <a class="xref" href="deb.html" title="Install Elasticsearch with Debian Package">Debian</a> 包中提供的启动脚本负责为你启动和停止 Elasticearch 进程。
</p>
</div>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h3 class="title">
<a id="targz-configuring"></a>
使用命令行配置 Elasticsearch
</h3>
</div></div></div>
<p>
Elasticsearch 默认从 <code class="literal">$ES_HOME/config/elasticsearch.yml</code> 文件加载配置。

<a class="xref" href="settings.html" title="Configuring Elasticsearch"><em>配置 Elasticsearch</em></a> 中解释了此配置文件的格式。
</p>
<p>
任何一个可以在配置文件中指定的设置，都可以在命令行中使用<code class="literal">-E</code>语法指定，如下所示：
</p>
<div class="pre_wrapper lang-sh">
<pre class="programlisting prettyprint lang-sh">./bin/elasticsearch -d -Ecluster.name=my_cluster -Enode.name=node_1</pre>
</div>
<div class="tip admon">
<div class="icon"></div>
<div class="admon_content">
<p>
通常，任何集群范围的设置(如<code class="literal">cluster.name</code>)都应该添加到 <code class="literal">elasticsearch.yml</code> 配置文件中，而任何特定于节点的设置(如<code class="literal">node.name</code>)都可以在命令行中指定。
</p>
</div>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h3 class="title">
<a id="targz-layout"></a>
归档文件的目录结构
</h3>
</div></div></div>
<p>
归档的发行版是完全独立的。

默认情况下，所有的文件和目录，都包含在解压归档文件时创建的 <code class="literal">$ES_HOME</code> 目录中。
</p>
<p>
这是很方便的，因为你不需要创建任何目录就可以开始使用 Elasticsearch，而卸载 Elasticsearch 就像删除 <code class="literal">$ES_HOME</code> 目录一样简单。

但是，建议更改配置目录、数据目录和日志目录的默认位置，以便以后不会因为不小心而删除了重要数据。
</p>
<div class="informaltable">
<table border="1" cellpadding="4px">
<colgroup>
<col class="col_1">
<col class="col_2">
<col class="col_3">
<col class="col_4">
</colgroup>
<thead>
<tr>
<th align="left" valign="top">类型</th>
<th align="left" valign="top">描述</th>
<th align="left" valign="top">默认位置</th>
<th align="left" valign="top">设置</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left" valign="top"><p><span class="strong strong"><strong>home</strong></span></p></td>
<td align="left" valign="top"><p>Elasticsearch的主目录或 <code class="literal">$ES_HOME</code></p></td>
<td align="left" valign="top"><p>解压归档文件时创建的目录</p></td>
<td align="left" valign="top"><p></p></td>
</tr>
<tr>
<td align="left" valign="top"><p><span class="strong strong"><strong>bin</strong></span></p></td>
<td align="left" valign="top">
<p>
二进制脚本，包含启动一个节点的<code class="literal">elasticsearch</code>，以及安装插件的<code class="literal">elasticsearch-plugin</code>
</p>
</td>
<td align="left" valign="top"><p><code class="literal">$ES_HOME/bin</code></p></td>
<td align="left" valign="top"><p></p></td>
</tr>
<tr>
<td align="left" valign="top"><p><span class="strong strong"><strong>conf</strong></span></p></td>
<td align="left" valign="top"><p>包含<code class="literal">elasticsearch.yml</code>的配置文件</p></td>
<td align="left" valign="top"><p><code class="literal">$ES_HOME/config</code></p></td>
<td align="left" valign="top"><p><code class="literal"><a class="xref" href="settings.html#config-files-location" title="Config files location">ES_PATH_CONF</a></code></p></td>
</tr>
<tr>
<td align="left" valign="top"><p><span class="strong strong"><strong>data</strong></span></p></td>
<td align="left" valign="top"><p>
节点上的每个索引/分片的数据文件的位置。
可以设置多个位置。
</p></td>
<td align="left" valign="top"><p><code class="literal">$ES_HOME/data</code></p></td>
<td align="left" valign="top"><p><code class="literal">path.data</code></p></td>
</tr>
<tr>
<td align="left" valign="top"><p><span class="strong strong"><strong>logs</strong></span></p></td>
<td align="left" valign="top"><p>日志文件的存放位置</p></td>
<td align="left" valign="top"><p><code class="literal">$ES_HOME/logs</code></p></td>
<td align="left" valign="top"><p><code class="literal">path.logs</code></p></td>
</tr>
<tr>
<td align="left" valign="top"><p><span class="strong strong"><strong>plugins</strong></span></p></td>
<td align="left" valign="top"><p>插件文件的存放位置。每个插件都放在一个子文件夹中。</p></td>
<td align="left" valign="top"><p><code class="literal">$ES_HOME/plugins</code></p></td>
<td align="left" valign="top"><p></p></td>
</tr>
<tr>
<td align="left" valign="top"><p><span class="strong strong"><strong>repo</strong></span></p></td>
<td align="left" valign="top"><p>
共享的文件系统存储库的位置。

可以设置多个位置。

可以将文件系统存储库放置到此处指定的任何目录的任何子目录中。
</p></td>
<td align="left" valign="top"><p>未配置</p></td>
<td align="left" valign="top"><p><code class="literal">path.repo</code></p></td>
</tr>
</tbody>
</table>
</div>
</div>

<div class="section exclude">
<div class="titlepage"><div><div>
<h3 class="title">
<a id="_next_steps"></a>下一步
</h3>
</div></div></div>
<p>
你现在已经设置了一个 Elasticsearch 测试环境。

在开始正式开发或开始使用 Elasticsearch 进行生产之前，你还必须做一些额外的设置：
</p>
<div class="ulist itemizedlist">
<ul class="itemizedlist">
<li class="listitem">
学习如何 <a class="xref" href="settings.html" title="Configuring Elasticsearch">配置 Elasticsearch</a>。
</li>
<li class="listitem">
配置 <a class="xref" href="important-settings.html" title="Important Elasticsearch configuration">重要的 Elasticsearch 设置</a>。
</li>
<li class="listitem">
配置 <a class="xref" href="system-config.html" title="Important System Configuration">重要的系统设置</a>。
</li>
</ul>
</div>
</div>

</div>
<div class="navfooter">
<span class="prev">
<a href="install-elasticsearch.html">« 安装Elasticsearch</a>
</span>
<span class="next">
<a href="zip-windows.html">在Windows上使用<code class="literal">.zip</code>安装 »</a>
</span>
</div>
</div>

                  <!-- end body -->
                        </div>
                        <div class="col-xs-12 col-sm-4 col-md-4" id="right_col">
                        
                        </div>
                    </div>
                </div>
            </section>
        </div>
    </section>
</div>
<script src="../static/cn.js"></script>
</body>
</html>